// 任意2-16进制数之间转换
pub fn convert_base(num_str: &str, to_base: u32) -> String {
    // 输⼊: 9(10), 8 #输⼊两个参数：10进制的9(字符串)，转换⽬标进制8(数字)，输出：11
    // #返回结果，8进制的11(字符串)
    // 输⼊: 1111(2), 15 #输⼊2进制的1111，转换为15进制
    // 输出：10(15)
    // #返回结果，15进制的10(字符串)
    let parts: Vec<&str> = num_str.split('(').collect();
    let mut num = parts[0].parse::<u32>().unwrap();
    let radix = parts[1].trim_end_matches(')').parse::<u32>().unwrap();
    num = u32::from_str_radix(&num.to_string(), radix).unwrap();

    if num == 0 {
        return "0".into();
    }
    let mut res = Vec::new();
    while num > 0 {
        let digit = num % to_base;
        let c = char::from_digit(digit, to_base).unwrap();
        res.push(c);
        num /= to_base;
    }
    res.into_iter().rev().collect()
}
